
package com.probiz.estore.customer.dao;

import java.util.List;

import com.probiz.estore.common.model.customer.Feedback;
import com.probiz.estore.core.dao.GenericDao;
import com.probiz.estore.core.search.SearchCriteria;
import com.probiz.estore.customer.model.FeedbackSearchCriteria;

/**
 * Feedback Data Access Object (DAO) interface. Developer introduced interfaces
 * should be declared here. Won't get overwritten.
 */
public interface FeedbackDao extends GenericDao<Feedback> {

	/**
	 * 获得“我发表的反馈” 的个数
	 * @param customerId
	 * @return 
	 */
	public Integer[] getCountsOfCustomer(Integer customerId);
	/**
	 * 搜索
	 * @param feedbackSearchCriteria
	 * @param searchCriteria
	 * @return
	 */
	public List<Feedback> searchByCriteria(FeedbackSearchCriteria feedbackSearchCriteria, SearchCriteria searchCriteria);
	
	/**
	 * 获得反馈的回复个数
	 * @param feedbackId
	 * @return
	 */
	public Long getReplyCountByFeedbackId(Integer feedbackId);
	/**
	 * 获得反馈可见的回复个数
	 * @param feedbackId
	 * @return
	 */
	public Long getOnShowReplyCountByFeedbackId(Integer feedbackId);
	
	/**
	 * 获得反馈的所有可见回复
	 * @param feedbackId
	 * @return
	 */
	public List<Feedback> getOnShowReplyListByFeedbackId(Integer feedbackId);
	
	
	/**
	 * 获得平台总反馈数量
	 * @return
	 */
	public Long countFeedbackTotal();
	/**
	 * 获取平台未回复的反馈数
	 * @return
	 */
	public Long countUnreplyFeedbackTotal();
}
